{
 "cells": [
  {
   "cell_type": "code",
   "execution_count": 2,
   "metadata": {},
   "outputs": [],
   "source": [
    "import numpy as np\n",
    "import pandas as pd\n",
    "import matplotlib.pyplot as plt"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "#### 读取数据\n",
    "- AAPL.CSV文件"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 3,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/html": [
       "<div>\n",
       "<style scoped>\n",
       "    .dataframe tbody tr th:only-of-type {\n",
       "        vertical-align: middle;\n",
       "    }\n",
       "\n",
       "    .dataframe tbody tr th {\n",
       "        vertical-align: top;\n",
       "    }\n",
       "\n",
       "    .dataframe thead th {\n",
       "        text-align: right;\n",
       "    }\n",
       "</style>\n",
       "<table border=\"1\" class=\"dataframe\">\n",
       "  <thead>\n",
       "    <tr style=\"text-align: right;\">\n",
       "      <th></th>\n",
       "      <th>Date</th>\n",
       "      <th>Open</th>\n",
       "      <th>High</th>\n",
       "      <th>Low</th>\n",
       "      <th>Close</th>\n",
       "      <th>Adj Close</th>\n",
       "      <th>Volume</th>\n",
       "    </tr>\n",
       "  </thead>\n",
       "  <tbody>\n",
       "    <tr>\n",
       "      <th>0</th>\n",
       "      <td>1980-12-12</td>\n",
       "      <td>0.513393</td>\n",
       "      <td>0.515625</td>\n",
       "      <td>0.513393</td>\n",
       "      <td>0.513393</td>\n",
       "      <td>0.421597</td>\n",
       "      <td>117258400</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>1</th>\n",
       "      <td>1980-12-15</td>\n",
       "      <td>0.488839</td>\n",
       "      <td>0.488839</td>\n",
       "      <td>0.486607</td>\n",
       "      <td>0.486607</td>\n",
       "      <td>0.399601</td>\n",
       "      <td>43971200</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>2</th>\n",
       "      <td>1980-12-16</td>\n",
       "      <td>0.453125</td>\n",
       "      <td>0.453125</td>\n",
       "      <td>0.450893</td>\n",
       "      <td>0.450893</td>\n",
       "      <td>0.370272</td>\n",
       "      <td>26432000</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>3</th>\n",
       "      <td>1980-12-17</td>\n",
       "      <td>0.462054</td>\n",
       "      <td>0.464286</td>\n",
       "      <td>0.462054</td>\n",
       "      <td>0.462054</td>\n",
       "      <td>0.379437</td>\n",
       "      <td>21610400</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>4</th>\n",
       "      <td>1980-12-18</td>\n",
       "      <td>0.475446</td>\n",
       "      <td>0.477679</td>\n",
       "      <td>0.475446</td>\n",
       "      <td>0.475446</td>\n",
       "      <td>0.390436</td>\n",
       "      <td>18362400</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>...</th>\n",
       "      <td>...</td>\n",
       "      <td>...</td>\n",
       "      <td>...</td>\n",
       "      <td>...</td>\n",
       "      <td>...</td>\n",
       "      <td>...</td>\n",
       "      <td>...</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>9291</th>\n",
       "      <td>2017-10-17</td>\n",
       "      <td>159.779999</td>\n",
       "      <td>160.869995</td>\n",
       "      <td>159.229996</td>\n",
       "      <td>160.470001</td>\n",
       "      <td>160.470001</td>\n",
       "      <td>18997300</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>9292</th>\n",
       "      <td>2017-10-18</td>\n",
       "      <td>160.419998</td>\n",
       "      <td>160.710007</td>\n",
       "      <td>159.600006</td>\n",
       "      <td>159.759995</td>\n",
       "      <td>159.759995</td>\n",
       "      <td>16374200</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>9293</th>\n",
       "      <td>2017-10-19</td>\n",
       "      <td>156.750000</td>\n",
       "      <td>157.080002</td>\n",
       "      <td>155.020004</td>\n",
       "      <td>155.979996</td>\n",
       "      <td>155.979996</td>\n",
       "      <td>42584200</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>9294</th>\n",
       "      <td>2017-10-20</td>\n",
       "      <td>156.610001</td>\n",
       "      <td>157.750000</td>\n",
       "      <td>155.960007</td>\n",
       "      <td>156.250000</td>\n",
       "      <td>156.250000</td>\n",
       "      <td>23974100</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>9295</th>\n",
       "      <td>2017-10-23</td>\n",
       "      <td>156.889999</td>\n",
       "      <td>157.690002</td>\n",
       "      <td>155.500000</td>\n",
       "      <td>156.169998</td>\n",
       "      <td>156.169998</td>\n",
       "      <td>21867200</td>\n",
       "    </tr>\n",
       "  </tbody>\n",
       "</table>\n",
       "<p>9296 rows × 7 columns</p>\n",
       "</div>"
      ],
      "text/plain": [
       "            Date        Open        High         Low       Close   Adj Close  \\\n",
       "0     1980-12-12    0.513393    0.515625    0.513393    0.513393    0.421597   \n",
       "1     1980-12-15    0.488839    0.488839    0.486607    0.486607    0.399601   \n",
       "2     1980-12-16    0.453125    0.453125    0.450893    0.450893    0.370272   \n",
       "3     1980-12-17    0.462054    0.464286    0.462054    0.462054    0.379437   \n",
       "4     1980-12-18    0.475446    0.477679    0.475446    0.475446    0.390436   \n",
       "...          ...         ...         ...         ...         ...         ...   \n",
       "9291  2017-10-17  159.779999  160.869995  159.229996  160.470001  160.470001   \n",
       "9292  2017-10-18  160.419998  160.710007  159.600006  159.759995  159.759995   \n",
       "9293  2017-10-19  156.750000  157.080002  155.020004  155.979996  155.979996   \n",
       "9294  2017-10-20  156.610001  157.750000  155.960007  156.250000  156.250000   \n",
       "9295  2017-10-23  156.889999  157.690002  155.500000  156.169998  156.169998   \n",
       "\n",
       "         Volume  \n",
       "0     117258400  \n",
       "1      43971200  \n",
       "2      26432000  \n",
       "3      21610400  \n",
       "4      18362400  \n",
       "...         ...  \n",
       "9291   18997300  \n",
       "9292   16374200  \n",
       "9293   42584200  \n",
       "9294   23974100  \n",
       "9295   21867200  \n",
       "\n",
       "[9296 rows x 7 columns]"
      ]
     },
     "execution_count": 3,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "apple = pd.read_csv('data/11_苹果股票分析项目/AAPL.csv')\n",
    "apple"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 5,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "(9296, 7)"
      ]
     },
     "execution_count": 5,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "apple.shape"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 6,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/html": [
       "<div>\n",
       "<style scoped>\n",
       "    .dataframe tbody tr th:only-of-type {\n",
       "        vertical-align: middle;\n",
       "    }\n",
       "\n",
       "    .dataframe tbody tr th {\n",
       "        vertical-align: top;\n",
       "    }\n",
       "\n",
       "    .dataframe thead th {\n",
       "        text-align: right;\n",
       "    }\n",
       "</style>\n",
       "<table border=\"1\" class=\"dataframe\">\n",
       "  <thead>\n",
       "    <tr style=\"text-align: right;\">\n",
       "      <th></th>\n",
       "      <th>Date</th>\n",
       "      <th>Open</th>\n",
       "      <th>High</th>\n",
       "      <th>Low</th>\n",
       "      <th>Close</th>\n",
       "      <th>Adj Close</th>\n",
       "      <th>Volume</th>\n",
       "    </tr>\n",
       "  </thead>\n",
       "  <tbody>\n",
       "    <tr>\n",
       "      <th>0</th>\n",
       "      <td>1980-12-12</td>\n",
       "      <td>0.513393</td>\n",
       "      <td>0.515625</td>\n",
       "      <td>0.513393</td>\n",
       "      <td>0.513393</td>\n",
       "      <td>0.421597</td>\n",
       "      <td>117258400</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>1</th>\n",
       "      <td>1980-12-15</td>\n",
       "      <td>0.488839</td>\n",
       "      <td>0.488839</td>\n",
       "      <td>0.486607</td>\n",
       "      <td>0.486607</td>\n",
       "      <td>0.399601</td>\n",
       "      <td>43971200</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>2</th>\n",
       "      <td>1980-12-16</td>\n",
       "      <td>0.453125</td>\n",
       "      <td>0.453125</td>\n",
       "      <td>0.450893</td>\n",
       "      <td>0.450893</td>\n",
       "      <td>0.370272</td>\n",
       "      <td>26432000</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>3</th>\n",
       "      <td>1980-12-17</td>\n",
       "      <td>0.462054</td>\n",
       "      <td>0.464286</td>\n",
       "      <td>0.462054</td>\n",
       "      <td>0.462054</td>\n",
       "      <td>0.379437</td>\n",
       "      <td>21610400</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>4</th>\n",
       "      <td>1980-12-18</td>\n",
       "      <td>0.475446</td>\n",
       "      <td>0.477679</td>\n",
       "      <td>0.475446</td>\n",
       "      <td>0.475446</td>\n",
       "      <td>0.390436</td>\n",
       "      <td>18362400</td>\n",
       "    </tr>\n",
       "  </tbody>\n",
       "</table>\n",
       "</div>"
      ],
      "text/plain": [
       "         Date      Open      High       Low     Close  Adj Close     Volume\n",
       "0  1980-12-12  0.513393  0.515625  0.513393  0.513393   0.421597  117258400\n",
       "1  1980-12-15  0.488839  0.488839  0.486607  0.486607   0.399601   43971200\n",
       "2  1980-12-16  0.453125  0.453125  0.450893  0.450893   0.370272   26432000\n",
       "3  1980-12-17  0.462054  0.464286  0.462054  0.462054   0.379437   21610400\n",
       "4  1980-12-18  0.475446  0.477679  0.475446  0.475446   0.390436   18362400"
      ]
     },
     "execution_count": 6,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "apple.head()"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 7,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/html": [
       "<div>\n",
       "<style scoped>\n",
       "    .dataframe tbody tr th:only-of-type {\n",
       "        vertical-align: middle;\n",
       "    }\n",
       "\n",
       "    .dataframe tbody tr th {\n",
       "        vertical-align: top;\n",
       "    }\n",
       "\n",
       "    .dataframe thead th {\n",
       "        text-align: right;\n",
       "    }\n",
       "</style>\n",
       "<table border=\"1\" class=\"dataframe\">\n",
       "  <thead>\n",
       "    <tr style=\"text-align: right;\">\n",
       "      <th></th>\n",
       "      <th>Date</th>\n",
       "      <th>Open</th>\n",
       "      <th>High</th>\n",
       "      <th>Low</th>\n",
       "      <th>Close</th>\n",
       "      <th>Adj Close</th>\n",
       "      <th>Volume</th>\n",
       "    </tr>\n",
       "  </thead>\n",
       "  <tbody>\n",
       "    <tr>\n",
       "      <th>9291</th>\n",
       "      <td>2017-10-17</td>\n",
       "      <td>159.779999</td>\n",
       "      <td>160.869995</td>\n",
       "      <td>159.229996</td>\n",
       "      <td>160.470001</td>\n",
       "      <td>160.470001</td>\n",
       "      <td>18997300</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>9292</th>\n",
       "      <td>2017-10-18</td>\n",
       "      <td>160.419998</td>\n",
       "      <td>160.710007</td>\n",
       "      <td>159.600006</td>\n",
       "      <td>159.759995</td>\n",
       "      <td>159.759995</td>\n",
       "      <td>16374200</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>9293</th>\n",
       "      <td>2017-10-19</td>\n",
       "      <td>156.750000</td>\n",
       "      <td>157.080002</td>\n",
       "      <td>155.020004</td>\n",
       "      <td>155.979996</td>\n",
       "      <td>155.979996</td>\n",
       "      <td>42584200</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>9294</th>\n",
       "      <td>2017-10-20</td>\n",
       "      <td>156.610001</td>\n",
       "      <td>157.750000</td>\n",
       "      <td>155.960007</td>\n",
       "      <td>156.250000</td>\n",
       "      <td>156.250000</td>\n",
       "      <td>23974100</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>9295</th>\n",
       "      <td>2017-10-23</td>\n",
       "      <td>156.889999</td>\n",
       "      <td>157.690002</td>\n",
       "      <td>155.500000</td>\n",
       "      <td>156.169998</td>\n",
       "      <td>156.169998</td>\n",
       "      <td>21867200</td>\n",
       "    </tr>\n",
       "  </tbody>\n",
       "</table>\n",
       "</div>"
      ],
      "text/plain": [
       "            Date        Open        High         Low       Close   Adj Close  \\\n",
       "9291  2017-10-17  159.779999  160.869995  159.229996  160.470001  160.470001   \n",
       "9292  2017-10-18  160.419998  160.710007  159.600006  159.759995  159.759995   \n",
       "9293  2017-10-19  156.750000  157.080002  155.020004  155.979996  155.979996   \n",
       "9294  2017-10-20  156.610001  157.750000  155.960007  156.250000  156.250000   \n",
       "9295  2017-10-23  156.889999  157.690002  155.500000  156.169998  156.169998   \n",
       "\n",
       "        Volume  \n",
       "9291  18997300  \n",
       "9292  16374200  \n",
       "9293  42584200  \n",
       "9294  23974100  \n",
       "9295  21867200  "
      ]
     },
     "execution_count": 7,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "apple.tail()"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 10,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/html": [
       "<div>\n",
       "<style scoped>\n",
       "    .dataframe tbody tr th:only-of-type {\n",
       "        vertical-align: middle;\n",
       "    }\n",
       "\n",
       "    .dataframe tbody tr th {\n",
       "        vertical-align: top;\n",
       "    }\n",
       "\n",
       "    .dataframe thead th {\n",
       "        text-align: right;\n",
       "    }\n",
       "</style>\n",
       "<table border=\"1\" class=\"dataframe\">\n",
       "  <thead>\n",
       "    <tr style=\"text-align: right;\">\n",
       "      <th></th>\n",
       "      <th>Date</th>\n",
       "      <th>Open</th>\n",
       "      <th>High</th>\n",
       "      <th>Low</th>\n",
       "      <th>Close</th>\n",
       "      <th>Adj Close</th>\n",
       "      <th>Volume</th>\n",
       "    </tr>\n",
       "  </thead>\n",
       "  <tbody>\n",
       "    <tr>\n",
       "      <th>6652</th>\n",
       "      <td>2007-04-26</td>\n",
       "      <td>14.511429</td>\n",
       "      <td>14.642858</td>\n",
       "      <td>14.042857</td>\n",
       "      <td>14.120000</td>\n",
       "      <td>12.703144</td>\n",
       "      <td>434444500</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>3111</th>\n",
       "      <td>1993-04-05</td>\n",
       "      <td>1.785714</td>\n",
       "      <td>1.803571</td>\n",
       "      <td>1.767857</td>\n",
       "      <td>1.785714</td>\n",
       "      <td>1.550564</td>\n",
       "      <td>37293200</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>5410</th>\n",
       "      <td>2002-05-20</td>\n",
       "      <td>1.755000</td>\n",
       "      <td>1.780714</td>\n",
       "      <td>1.752143</td>\n",
       "      <td>1.767143</td>\n",
       "      <td>1.589821</td>\n",
       "      <td>67478600</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>7245</th>\n",
       "      <td>2009-09-01</td>\n",
       "      <td>23.998571</td>\n",
       "      <td>24.285715</td>\n",
       "      <td>23.562857</td>\n",
       "      <td>23.614286</td>\n",
       "      <td>21.244738</td>\n",
       "      <td>117257000</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>7223</th>\n",
       "      <td>2009-07-31</td>\n",
       "      <td>23.284286</td>\n",
       "      <td>23.571428</td>\n",
       "      <td>23.272858</td>\n",
       "      <td>23.341429</td>\n",
       "      <td>20.999258</td>\n",
       "      <td>105634200</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>510</th>\n",
       "      <td>1982-12-21</td>\n",
       "      <td>0.535714</td>\n",
       "      <td>0.540179</td>\n",
       "      <td>0.526786</td>\n",
       "      <td>0.540179</td>\n",
       "      <td>0.443594</td>\n",
       "      <td>19986400</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>2030</th>\n",
       "      <td>1988-12-23</td>\n",
       "      <td>1.464286</td>\n",
       "      <td>1.477679</td>\n",
       "      <td>1.464286</td>\n",
       "      <td>1.468750</td>\n",
       "      <td>1.222480</td>\n",
       "      <td>10239600</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>8541</th>\n",
       "      <td>2014-10-24</td>\n",
       "      <td>105.180000</td>\n",
       "      <td>105.489998</td>\n",
       "      <td>104.529999</td>\n",
       "      <td>105.220001</td>\n",
       "      <td>99.530258</td>\n",
       "      <td>47053900</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>6367</th>\n",
       "      <td>2006-03-08</td>\n",
       "      <td>9.470000</td>\n",
       "      <td>9.600000</td>\n",
       "      <td>9.335714</td>\n",
       "      <td>9.380000</td>\n",
       "      <td>8.438775</td>\n",
       "      <td>163312800</td>\n",
       "    </tr>\n",
       "  </tbody>\n",
       "</table>\n",
       "</div>"
      ],
      "text/plain": [
       "            Date        Open        High         Low       Close  Adj Close  \\\n",
       "6652  2007-04-26   14.511429   14.642858   14.042857   14.120000  12.703144   \n",
       "3111  1993-04-05    1.785714    1.803571    1.767857    1.785714   1.550564   \n",
       "5410  2002-05-20    1.755000    1.780714    1.752143    1.767143   1.589821   \n",
       "7245  2009-09-01   23.998571   24.285715   23.562857   23.614286  21.244738   \n",
       "7223  2009-07-31   23.284286   23.571428   23.272858   23.341429  20.999258   \n",
       "510   1982-12-21    0.535714    0.540179    0.526786    0.540179   0.443594   \n",
       "2030  1988-12-23    1.464286    1.477679    1.464286    1.468750   1.222480   \n",
       "8541  2014-10-24  105.180000  105.489998  104.529999  105.220001  99.530258   \n",
       "6367  2006-03-08    9.470000    9.600000    9.335714    9.380000   8.438775   \n",
       "\n",
       "         Volume  \n",
       "6652  434444500  \n",
       "3111   37293200  \n",
       "5410   67478600  \n",
       "7245  117257000  \n",
       "7223  105634200  \n",
       "510    19986400  \n",
       "2030   10239600  \n",
       "8541   47053900  \n",
       "6367  163312800  "
      ]
     },
     "execution_count": 10,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "apple.sample(10)\n",
    "apple.sample(frac=0.001)"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "#### 检查数据类型"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 11,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "Date          object\n",
       "Open         float64\n",
       "High         float64\n",
       "Low          float64\n",
       "Close        float64\n",
       "Adj Close    float64\n",
       "Volume         int64\n",
       "dtype: object"
      ]
     },
     "execution_count": 11,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "apple.dtypes"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 12,
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "<class 'pandas.core.frame.DataFrame'>\n",
      "RangeIndex: 9296 entries, 0 to 9295\n",
      "Data columns (total 7 columns):\n",
      " #   Column     Non-Null Count  Dtype  \n",
      "---  ------     --------------  -----  \n",
      " 0   Date       9296 non-null   object \n",
      " 1   Open       9296 non-null   float64\n",
      " 2   High       9296 non-null   float64\n",
      " 3   Low        9296 non-null   float64\n",
      " 4   Close      9296 non-null   float64\n",
      " 5   Adj Close  9296 non-null   float64\n",
      " 6   Volume     9296 non-null   int64  \n",
      "dtypes: float64(5), int64(1), object(1)\n",
      "memory usage: 508.5+ KB\n"
     ]
    }
   ],
   "source": [
    "apple.info()"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 13,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/html": [
       "<div>\n",
       "<style scoped>\n",
       "    .dataframe tbody tr th:only-of-type {\n",
       "        vertical-align: middle;\n",
       "    }\n",
       "\n",
       "    .dataframe tbody tr th {\n",
       "        vertical-align: top;\n",
       "    }\n",
       "\n",
       "    .dataframe thead th {\n",
       "        text-align: right;\n",
       "    }\n",
       "</style>\n",
       "<table border=\"1\" class=\"dataframe\">\n",
       "  <thead>\n",
       "    <tr style=\"text-align: right;\">\n",
       "      <th></th>\n",
       "      <th>Open</th>\n",
       "      <th>High</th>\n",
       "      <th>Low</th>\n",
       "      <th>Close</th>\n",
       "      <th>Adj Close</th>\n",
       "      <th>Volume</th>\n",
       "    </tr>\n",
       "  </thead>\n",
       "  <tbody>\n",
       "    <tr>\n",
       "      <th>count</th>\n",
       "      <td>9296.000000</td>\n",
       "      <td>9296.000000</td>\n",
       "      <td>9296.000000</td>\n",
       "      <td>9296.000000</td>\n",
       "      <td>9296.000000</td>\n",
       "      <td>9.296000e+03</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>mean</th>\n",
       "      <td>21.171909</td>\n",
       "      <td>21.374401</td>\n",
       "      <td>20.949917</td>\n",
       "      <td>21.167384</td>\n",
       "      <td>19.888297</td>\n",
       "      <td>8.923616e+07</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>std</th>\n",
       "      <td>37.544405</td>\n",
       "      <td>37.839621</td>\n",
       "      <td>37.222077</td>\n",
       "      <td>37.540368</td>\n",
       "      <td>36.112221</td>\n",
       "      <td>8.731405e+07</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>min</th>\n",
       "      <td>0.198661</td>\n",
       "      <td>0.198661</td>\n",
       "      <td>0.196429</td>\n",
       "      <td>0.196429</td>\n",
       "      <td>0.161307</td>\n",
       "      <td>3.472000e+05</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>25%</th>\n",
       "      <td>1.031250</td>\n",
       "      <td>1.053571</td>\n",
       "      <td>1.011161</td>\n",
       "      <td>1.031250</td>\n",
       "      <td>0.916267</td>\n",
       "      <td>3.507770e+07</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>50%</th>\n",
       "      <td>1.625000</td>\n",
       "      <td>1.651786</td>\n",
       "      <td>1.598214</td>\n",
       "      <td>1.624643</td>\n",
       "      <td>1.424670</td>\n",
       "      <td>6.131125e+07</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>75%</th>\n",
       "      <td>19.855715</td>\n",
       "      <td>20.088214</td>\n",
       "      <td>19.473214</td>\n",
       "      <td>19.833571</td>\n",
       "      <td>17.843392</td>\n",
       "      <td>1.115664e+08</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>max</th>\n",
       "      <td>164.800003</td>\n",
       "      <td>164.940002</td>\n",
       "      <td>163.630005</td>\n",
       "      <td>164.050003</td>\n",
       "      <td>164.050003</td>\n",
       "      <td>1.855410e+09</td>\n",
       "    </tr>\n",
       "  </tbody>\n",
       "</table>\n",
       "</div>"
      ],
      "text/plain": [
       "              Open         High          Low        Close    Adj Close  \\\n",
       "count  9296.000000  9296.000000  9296.000000  9296.000000  9296.000000   \n",
       "mean     21.171909    21.374401    20.949917    21.167384    19.888297   \n",
       "std      37.544405    37.839621    37.222077    37.540368    36.112221   \n",
       "min       0.198661     0.198661     0.196429     0.196429     0.161307   \n",
       "25%       1.031250     1.053571     1.011161     1.031250     0.916267   \n",
       "50%       1.625000     1.651786     1.598214     1.624643     1.424670   \n",
       "75%      19.855715    20.088214    19.473214    19.833571    17.843392   \n",
       "max     164.800003   164.940002   163.630005   164.050003   164.050003   \n",
       "\n",
       "             Volume  \n",
       "count  9.296000e+03  \n",
       "mean   8.923616e+07  \n",
       "std    8.731405e+07  \n",
       "min    3.472000e+05  \n",
       "25%    3.507770e+07  \n",
       "50%    6.131125e+07  \n",
       "75%    1.115664e+08  \n",
       "max    1.855410e+09  "
      ]
     },
     "execution_count": 13,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "apple.describe()"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "将'Date'这列数据转换为时间数据类型\n",
    "- pd.to_datetime: 转为时间数据类型"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 14,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/html": [
       "<div>\n",
       "<style scoped>\n",
       "    .dataframe tbody tr th:only-of-type {\n",
       "        vertical-align: middle;\n",
       "    }\n",
       "\n",
       "    .dataframe tbody tr th {\n",
       "        vertical-align: top;\n",
       "    }\n",
       "\n",
       "    .dataframe thead th {\n",
       "        text-align: right;\n",
       "    }\n",
       "</style>\n",
       "<table border=\"1\" class=\"dataframe\">\n",
       "  <thead>\n",
       "    <tr style=\"text-align: right;\">\n",
       "      <th></th>\n",
       "      <th>Date</th>\n",
       "      <th>Open</th>\n",
       "      <th>High</th>\n",
       "      <th>Low</th>\n",
       "      <th>Close</th>\n",
       "      <th>Adj Close</th>\n",
       "      <th>Volume</th>\n",
       "    </tr>\n",
       "  </thead>\n",
       "  <tbody>\n",
       "    <tr>\n",
       "      <th>0</th>\n",
       "      <td>1980-12-12</td>\n",
       "      <td>0.513393</td>\n",
       "      <td>0.515625</td>\n",
       "      <td>0.513393</td>\n",
       "      <td>0.513393</td>\n",
       "      <td>0.421597</td>\n",
       "      <td>117258400</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>1</th>\n",
       "      <td>1980-12-15</td>\n",
       "      <td>0.488839</td>\n",
       "      <td>0.488839</td>\n",
       "      <td>0.486607</td>\n",
       "      <td>0.486607</td>\n",
       "      <td>0.399601</td>\n",
       "      <td>43971200</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>2</th>\n",
       "      <td>1980-12-16</td>\n",
       "      <td>0.453125</td>\n",
       "      <td>0.453125</td>\n",
       "      <td>0.450893</td>\n",
       "      <td>0.450893</td>\n",
       "      <td>0.370272</td>\n",
       "      <td>26432000</td>\n",
       "    </tr>\n",
       "  </tbody>\n",
       "</table>\n",
       "</div>"
      ],
      "text/plain": [
       "         Date      Open      High       Low     Close  Adj Close     Volume\n",
       "0  1980-12-12  0.513393  0.515625  0.513393  0.513393   0.421597  117258400\n",
       "1  1980-12-15  0.488839  0.488839  0.486607  0.486607   0.399601   43971200\n",
       "2  1980-12-16  0.453125  0.453125  0.450893  0.450893   0.370272   26432000"
      ]
     },
     "execution_count": 14,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "apple.head(3)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 16,
   "metadata": {},
   "outputs": [],
   "source": [
    "apple['Date'] = pd.to_datetime(apple['Date'])"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 17,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "Date         datetime64[ns]\n",
       "Open                float64\n",
       "High                float64\n",
       "Low                 float64\n",
       "Close               float64\n",
       "Adj Close           float64\n",
       "Volume                int64\n",
       "dtype: object"
      ]
     },
     "execution_count": 17,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "apple.dtypes"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "将'Date'设置为行索引\n",
    "- set_index():设置行索引"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 20,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/html": [
       "<div>\n",
       "<style scoped>\n",
       "    .dataframe tbody tr th:only-of-type {\n",
       "        vertical-align: middle;\n",
       "    }\n",
       "\n",
       "    .dataframe tbody tr th {\n",
       "        vertical-align: top;\n",
       "    }\n",
       "\n",
       "    .dataframe thead th {\n",
       "        text-align: right;\n",
       "    }\n",
       "</style>\n",
       "<table border=\"1\" class=\"dataframe\">\n",
       "  <thead>\n",
       "    <tr style=\"text-align: right;\">\n",
       "      <th></th>\n",
       "      <th>Open</th>\n",
       "      <th>High</th>\n",
       "      <th>Low</th>\n",
       "      <th>Close</th>\n",
       "      <th>Adj Close</th>\n",
       "      <th>Volume</th>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>Date</th>\n",
       "      <th></th>\n",
       "      <th></th>\n",
       "      <th></th>\n",
       "      <th></th>\n",
       "      <th></th>\n",
       "      <th></th>\n",
       "    </tr>\n",
       "  </thead>\n",
       "  <tbody>\n",
       "    <tr>\n",
       "      <th>1980-12-12</th>\n",
       "      <td>0.513393</td>\n",
       "      <td>0.515625</td>\n",
       "      <td>0.513393</td>\n",
       "      <td>0.513393</td>\n",
       "      <td>0.421597</td>\n",
       "      <td>117258400</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>1980-12-15</th>\n",
       "      <td>0.488839</td>\n",
       "      <td>0.488839</td>\n",
       "      <td>0.486607</td>\n",
       "      <td>0.486607</td>\n",
       "      <td>0.399601</td>\n",
       "      <td>43971200</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>1980-12-16</th>\n",
       "      <td>0.453125</td>\n",
       "      <td>0.453125</td>\n",
       "      <td>0.450893</td>\n",
       "      <td>0.450893</td>\n",
       "      <td>0.370272</td>\n",
       "      <td>26432000</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>1980-12-17</th>\n",
       "      <td>0.462054</td>\n",
       "      <td>0.464286</td>\n",
       "      <td>0.462054</td>\n",
       "      <td>0.462054</td>\n",
       "      <td>0.379437</td>\n",
       "      <td>21610400</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>1980-12-18</th>\n",
       "      <td>0.475446</td>\n",
       "      <td>0.477679</td>\n",
       "      <td>0.475446</td>\n",
       "      <td>0.475446</td>\n",
       "      <td>0.390436</td>\n",
       "      <td>18362400</td>\n",
       "    </tr>\n",
       "  </tbody>\n",
       "</table>\n",
       "</div>"
      ],
      "text/plain": [
       "                Open      High       Low     Close  Adj Close     Volume\n",
       "Date                                                                    \n",
       "1980-12-12  0.513393  0.515625  0.513393  0.513393   0.421597  117258400\n",
       "1980-12-15  0.488839  0.488839  0.486607  0.486607   0.399601   43971200\n",
       "1980-12-16  0.453125  0.453125  0.450893  0.450893   0.370272   26432000\n",
       "1980-12-17  0.462054  0.464286  0.462054  0.462054   0.379437   21610400\n",
       "1980-12-18  0.475446  0.477679  0.475446  0.475446   0.390436   18362400"
      ]
     },
     "execution_count": 20,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "apple2 = apple.set_index('Date')\n",
    "apple2.head()"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "绘制图形:收盘价格\n",
    "- 字段Adj Close:已调整收盘价格"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 21,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "<Axes: xlabel='Date'>"
      ]
     },
     "execution_count": 21,
     "metadata": {},
     "output_type": "execute_result"
    },
    {
     "data": {
      "image/png": "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XQIAAABh9v26Xfphy17f853FlZrx0UqtLygNW01Od9Wwt2gbPT8BzZ8/X2eeeaays7NlsVg0a9Ys3z6Xy6Xbb79dAwcOVEJCgrKzszV58mTt2LHD7xzdunWTxWLx+3nggQca/WYAAACAlmhXqUMXPb9I5z71vYwx+mr1Tg2/f65e+m6TTvzH1yqudGnmp6v0y/aiZq3La4wkyRohXSJBv82ysjINHjxYTz75ZJ195eXl+uGHH/TXv/5VP/zwg95//32tXr1aZ511Vp1j7733XuXm5vp+brrppkN7BwAAAEALV1Di8D12eYwuf2mJ3/6Zn67Ss/M36IzHv23WurxV2UdWi6VZrxsuQa9mdNppp+m0004LuC8lJUVz5szx2/bEE09o+PDh2rJli7p06eLbnpSUpKysrGAvDwAAALRqTo+3zrYV25q3x6ear+cnQsJPyDu4ioqKZLFYlJqa6rf9gQceUHp6uoYMGaKHHnpIbrc71KUAAAAAYbEvY0iS3AHCj8dr6mxrDtXhxxYhw96C7vkJRmVlpW6//XZdeOGFSk5O9m2/+eabdeSRRyotLU3ff/+9pk+frtzcXD3yyCMBz+NwOORw1HQVFhcXh7JsAAAAoEm5vTWBx+WpG3QKy13NWY6Pd1/oskRIz0/Iwo/L5dLvfvc7GWP09NNP++2bNm2a7/GgQYMUHR2ta665RjNnzlRMTEydc82cOVMzZswIVakAAABASFXPqib5B6FqecWVzVmOj4mwe35C0sFVHXw2b96sOXPm+PX6BDJixAi53W5t2rQp4P7p06erqKjI97N169YQVA0AAACEhl/4CdDzEy6e6mFvERJ+mrznpzr4rF27VvPmzVN6evoBX7N8+XJZrVZlZmYG3B8TExOwRwgAAABoDRy17vPZW+4MYyX+qu/5iZDsE3z4KS0t1bp163zPN27cqOXLlystLU0dO3bUeeedpx9++EEff/yxPB6P8vLyJElpaWmKjo7WggULtGjRIo0dO1ZJSUlasGCBpk6dqksuuUTt2rVruncGAAAAtBC1e34e+Oy3MFbir3qeBZs1MtJP0OFn6dKlGjt2rO959f07l112me655x7997//lSQdccQRfq+bN2+exowZo5iYGL355pu655575HA41L17d02dOtXvPiAAAACgLakdfr5fvzuMlfirnvAgUu75CTr8jBkz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HGiSkpLM9ddfb7Zt22aMMeaaa64xgwcP9h3rdDqNMcbcddddpkuXLsbtdoej5LAK1F7bt2/37X/iiSfMTTfd5Hvep08fY7FYzKhRo8y6devCUXJYBWqvrVu3GmOMmTdvnrn22mvN8OHDTa9evczcuXPN6tWrzd///nfTu3dv88orr4S5+vB44YUXTJcuXczQoUPNiBEjzH/+8x/j9Xp9+z0ej+/x5Zdfbi655BJjTM3fz0izf3u9+uqrxuFwGGOMefjhh43NZjN9+vQxS5Ys8b3mpZdeMv379zcfffRRuMoOq9mzZ5uMjAxzxBFHmK5du5revXubf/zjH8YYY1asWGEOO+ww88ADD/ja0Rhj8vLyzFlnnWUuvfTScJUdNoHa65///Kdv/+7du01WVpavvaZOnWpiY2NNXFycWbp0aZiqDp+Gfr88Ho9ZtmyZ+fe//2169+5t3n33XWOMMXv37jV///vfTXp6unG5XOEsPyw++OADk52dbdLT083GjRuNMcbvM1bt/weUlJSY3r17m4ULFzZ3mS1GQ+21Z88ec+WVV5qkpCRz7rnnGo/H4/v/5vPPP29SUlJMeXl5uEpvk1pV+Hn++edNr169zBtvvGEKCgrMa6+9ZhISEsyPP/5ojDHmvffeM/369TOPPvqoMcaYyspKY4wxGzZsMPHx8X4fJiLBgdrLGGNuvPFG88wzz5g1a9aY/v37m3bt2hmr1WpeffXV8BUeJvW11w8//OA7xul0mlNOOaVO0Onfv7+58847m7vksHv00UdNr169zJtvvmm+/fZbc/fddxubzWaefPJJX7jxer3G7XYbl8tlhgwZYp599tk656kdkNqyQO1ltVrNk08+adxut1m5cqUZPHiw6datm9+XFMYY06lTJ/P000+HqfLwOu+888yUKVOMMcasWbPGPPzww8ZisZj//ve/xhhjrrvuOnPUUUeZefPm+b1u4sSJ5rLLLmvmasOvvvb6+OOPjdvtNvn5+eb88883b7zxhhk4cKBp3769OeOMM0y/fv3M4sWLjTEmor4srK+9PvroI9+/Tf/617/M8OHDjTE1H+znz59vEhISzHfffReewsPk1VdfNUcddZSZNGmSGTVqlLnmmmsaPH727NmmY8eOZs+ePb5teXl5oS6zxTiY9nr99ddNenq6Ofvss40xNX//Fi5caDIyMsyyZcuas+Q2r1WEn+oPTxdddFGdb/F69+7t+6XIy8szN998s+nSpYvZsWOH75hZs2aZLl26mFWrVjVr3eFyoPZavny5McYYl8tl/vCHP5jo6GgTFRVlrrvuOrNr1y5zzTXXmJ49e5pdu3aFo/xmd7DtZYwxO3bsMO3atTObN282xlT9A1VYWGiGDRtm/v73vzdr3eFWVlZmTj75ZHP33XcbY2o+EIwePdp07drVzJo1y297bm6u6dy5s/ntt9+MMcb8+OOPEfXBtKH2ysnJMR9//LExxpj/+7//Mzabzbz99tu+1+7cudMMHDgwor6UqG6fDRs2mNTUVDN79my//RdddJHp3bu3KSgoMPn5+WbIkCHmwgsv9I0EMMaY8ePHm6lTpzZr3eFyMO3Vr18/s337drNt2zZjsVhMVFSUueGGG8zevXvNypUrzbhx48yoUaPCUX6zO5j2Ouyww3wjIP7v//7PnHHGGaaoqMh3zP33329Gjx5tysrKmq/wMKr9gfyOO+4wmzdvNg8++KDp27ev74uHQKH5mmuuMRdeeKExxpgffvjBjBkzxpxzzjlt/kuvg2mv6t7X0tJSc8sttxiLxWLmzJnjO8fDDz9sTj755DbfVs2tVdzzUz0+edWqVYqJiVF+fr4k6eabb5bVatV///tfLViwQB06dNAf/vAHde7cWWeccYbeeustrV+/Xm+88Yb69++vbt26hfeNNJMDtdcHH3ygBQsWyG63a9CgQbr88su1YMECPfXUU75xpzt27NCKFSvC/E6ax4Haa9asWVq4cKHKy8uVnp6unJwcXXvttVqxYoW2bdumW2+9VWVlZTr77LPD/E6al91u17Jly9S3b19J8t0nkJmZKZfLpffee08FBQW++1m++OIL9ejRQ9nZ2bryyis1fPhw34KBJgLGMzfUXh6PR2+++aYKCwt1ww036KyzztKtt96qe+65xzdNrN1u1wknnBDOt9As1q5d67sXSqqavCY6OlpbtmyRJN+9m0899ZS2b9+u559/XpmZmbrjjju0bds2HXvssXrkkUc0efJkLV26VOeee27Y3ktzCKa9Nm/erH//+9/q1KmTXnvtNX377bd64oknlJqaqsMPP1wTJkzQ2Wef3aanVw+2vaqnZ87KylJ+fr7OO+88vffee7ryyiv1z3/+UxdddJHi4+PD82aaSXWbVa8FNWLECP3t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xhjz7bffmquuusoceeSR5sYbbzQFBQXGGGMuvfRSM3HixOYsN+xor+DQXsFr6jarvSBsW0R7Ba+srMxcdtll5oILLvC7d2L48OHm8ssvN8YYU1xcbO677z4TFxfnG/dePZb++OOPN1dddZXvdW39fk7aKzi0V/Caus3aOtqr7Wn2np+FCxf6VuWeMWOGycjI8E3vWlvt1Jyfn28GDBjguwk9khZ7or2CQ3sFrynabP+pOtsy2it4U6ZMMZ999pkxpua933PPPWbEiBF+i00ee+yx5uijjzabNm0yxlTNqnjYYYf5FoCNFLRXcGiv4NFmwaG92pZmDz/7f6uSnZ1tpkyZ4ptWuPb+iooK43Q6zVNPPWWGDBnSpqetrg/tFRzaK3i0WXBor+DVngGp+suFiy66yFx99dV+x23bts306tXLdOvWzZx33nkmOzvbnHDCCRExtXBttFdwaK/g0WbBob3alrBNdV39rejbb79t7Ha7+d///ue3f9u2beapp54yw4YNM2lpaeb1118PR5ktBu0VHNoreLRZcGivxjn22GPNyy+/bIyp+jBR/YFi7dq15s033zRTp0717QftFSzaK3i0WXBor9bLYkz4pxY65phjlJCQoNdee02ZmZkqKChQRkaG3njjDe3YsUO33npruEtsUWiv4NBewaPNgkN7BWfDhg065phj9Mknn2jo0KGSJKfTqejo6DBX1jLRXsGhvYJHmwWH9mrd7OG8uNvtlt1u1//7f/9PgwcP1ptvvqn169fr22+/1SuvvKILL7wwnOW1OLRXcGiv4NFmwaG9gmOMkcVi0bfffqvExETfh4YZM2YoLy9PM2bMYK2LWmiv4NBewaPNgkN7tQ0toudHkoYPH66lS5eqS5cuevbZZ3XqqaeGu6QWjfYKDu0VPNosOLTXwbvxxhuVkJCgk046SVOmTFF5ebn+85//6JRTTgl3aS0S7RUc2it4tFlwaK9WLmwD7vZZt26dGTBggImPjzfPP/98uMtp8Wiv4NBewaPNgkN7BaeiosL06tXLWCwWExMTYx544IFwl9Si0V7Bob2CR5sFh/Zq/cI67E2qWu124sSJuv3229v0KspNhfYKDu0VPNosOLRXcGJjY9WtWzedfPLJeuSRRxQbGxvuklo02is4tFfwaLPg0F6tX4sZ9gYAiAwej0c2my3cZbQatFdwaK/g0WbBob1aN8IPAAAAgIhgDXcBAAAAANAcCD8AAAAAIgLhBwAAAEBEIPwAAAAAiAiEHwAAAAARgfADAAAAICIQfgAAAABEBMIPACCsLr/8clksFlksFkVFRalDhw46+eST9eKLL8rr9R70eV5++WWlpqaGrlAAQKtH+AEAhN24ceOUm5urTZs26bPPPtPYsWP1hz/8QWeccYbcbne4ywMAtBGEHwBA2MXExCgrK0udOnXSkUceqTvvvFMffvihPvvsM7388suSpEceeUQDBw5UQkKCcnJydP3116u0tFSS9NVXX+n3v/+9ioqKfL1I99xzjyTJ4XDoj3/8ozp16qSEhASNGDFCX331VXjeKAAgrAg/AIAW6YQTTtDgwYP1/vvvS5KsVqsee+wxrVy5Uq+88oq+/PJL3XbbbZKkY445Ro8++qiSk5OVm5ur3Nxc/fGPf5Qk3XjjjVqwYIHefPNNrVixQueff77GjRuntWvXhu29AQDCw2KMMeEuAgAQuS6//HIVFhZq1qxZdfZNmjRJK1as0K+//lpn37vvvqtrr71Wu3btklR1z88tt9yiwsJC3zFbtmxRjx49tGXLFmVnZ/u2n3TSSRo+fLjuv//+Jn8/AICWyx7uAgAAqI8xRhaLRZL0xRdfaObMmfrtt99UXFwst9utyspKlZeXKz4+PuDrf/75Z3k8HvXp08dvu8PhUHp6esjrBwC0LIQfAECLtWrVKnXv3l2bNm3SGWecoeuuu05///vflZaWpm+//VZXXnmlnE5nveGntLRUNptNy5Ytk81m89uXmJjYHG8BANCCEH4AAC3Sl19+qZ9//llTp07VsmXL5PV69Y9//ENWa9Xtqm+//bbf8dHR0fJ4PH7bhgwZIo/Ho507d+q4445rttoBAC0T4QcAEHYOh0N5eXnyeDzKz8/X7NmzNXPmTJ1xxhmaPHmyfvnlF7lcLj3++OM688wz9d133+mZZ57xO0e3bt1UWlqquXPnavDgwYqPj1efPn108cUXa/LkyfrHP/6hIUOGqKCgQHPnztWgQYN0+umnh+kdAwDCgdneAABhN3v2bHXs2FHdunXTuHHjNG/ePD322GP68MMPZbPZNHjwYD3yyCP6v//7Pw0YMECvvfaaZs6c6XeOY445Rtdee60uuOACZWRk6MEHH5QkvfTSS5o8ebJuvfVW9e3bVxMmTNCSJUvUpUuXcLxVAEAYMdsbAAAAgIhAzw8AAACAiED4AQAAABARCD8AAAAAIgLhBwAAAEBEIPwAAAAAiAiEHwAAAAARgfADAAAAICIQfgAAAABEBMIPAAAAgIhA+AEAAAAQEQg/AAAAACIC4QcAAABARPj/QD5yU/OjeFIAAAAASUVORK5CYII=",
      "text/plain": [
       "<Figure size 1000x600 with 1 Axes>"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    }
   ],
   "source": [
    "apple2['Adj Close'].plot(figsize=(10,6))"
   ]
  }
 ],
 "metadata": {
  "kernelspec": {
   "display_name": ".venv",
   "language": "python",
   "name": "python3"
  },
  "language_info": {
   "codemirror_mode": {
    "name": "ipython",
    "version": 3
   },
   "file_extension": ".py",
   "mimetype": "text/x-python",
   "name": "python",
   "nbconvert_exporter": "python",
   "pygments_lexer": "ipython3",
   "version": "3.10.0"
  }
 },
 "nbformat": 4,
 "nbformat_minor": 2
}
